/**
 * 
 * If you have edited the file, please update
 * all the last-modified fields manually. Thanks!
 *
 * @last-modified by: 
 * @last-modified date: 
 * @last-modified time: 
 *
 * @author Swee Zhi
 * @date-created Oct 26, 2011    @time-created 12:37:05 PM
 *
 * @project: 
 * @module: 
 * @institution: 
 *
 */
package util.entityhelper;

import entity.ActivityAddressEntity;
import entity.ActivityLocalizedEntity;
import java.io.Serializable;
import java.sql.Time;
import java.util.Collection;
import util.enumeration.ActivityType;
import util.enumeration.SingaporeArea;

public class AttractionState implements Serializable {
    // common
    private Long id;
    private String locale;
    private ActivityType activityType;
    private String activityName;
    private String activityDesc;
    private SingaporeArea singaporeArea;
    private ActivityAddressEntity activityAddress;
    // other common
//    private String creator;
//    private ActivityOrganiserEntity organiser;
    
    // attraction
    private Time openingHour;
    private Time closingHour;
    private String imgUrl;
    
    private Collection<ActivityLocalizedEntity> localizedActivityEntity;
    
    // localized variables
    private String localizedActivityType;
    private String localizedActivityName;
    private String localizedActivityDesc;
    private String localizedSingaporeArea;
    private String localizedOpeningHour;
    private String localizedClosingHour;
    
    
    public AttractionState(Long id, String locale, ActivityType activityType,
                           String attractionName, String attractionDesc,
                           SingaporeArea singaporeArea,
                           ActivityAddressEntity activityAddress,
                           Time openingHour, Time closingHour,
                           String imgUrl,
                           Collection<ActivityLocalizedEntity> localizedActivity) {
        this.setId(id);
        this.setLocale(locale);
        this.setActivityType(activityType);
        this.setActivityName(attractionName);
        this.setActivityDesc(attractionDesc);
        this.setSingaporeArea(singaporeArea);
        this.setActivityAddress(activityAddress);
        this.setOpeningHour(openingHour);
        this.setClosingHour(closingHour);
        this.setImgUrl(imgUrl);
        this.setLocalizedActivityEntity(localizedActivity);
    }
    
//    public void setLocalizedAttractionInformation(String locale, ActivityType activityType,
//                                                  String activityName, String activityDesc,
//                                                  SingaporeArea singaporeArea) {
//        this.localizedActivityType = LocalizedActivityType.getLocalizedActivityTypeAsString(activityType, locale);
//        this.localizedActivityName = activityName;
//        this.localizedActivityDesc = activityDesc;
//        this.localizedSingaporeArea = LocalizedSingaporeArea.getLocalizedSingaporeAreaAsString(singaporeArea, locale);
//    }

    public ActivityAddressEntity getActivityAddress() {
        return activityAddress;
    }

    public void setActivityAddress(ActivityAddressEntity activityAddress) {
        this.activityAddress = activityAddress;
    }

    public ActivityType getActivityType() {
        return activityType;
    }

    public void setActivityType(ActivityType activityType) {
        this.activityType = activityType;
    }

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getImgUrl() {
        return imgUrl;
    }

    public void setImgUrl(String imgUrl) {
        this.imgUrl = imgUrl;
    }

    public SingaporeArea getSingaporeArea() {
        return singaporeArea;
    }

    public void setSingaporeArea(SingaporeArea singaporeArea) {
        this.singaporeArea = singaporeArea;
    }

    public Time getClosingHour() {
        return closingHour;
    }

    public void setClosingHour(Time closingHour) {
        this.closingHour = closingHour;
    }

    public Time getOpeningHour() {
        return openingHour;
    }

    public void setOpeningHour(Time openingHour) {
        this.openingHour = openingHour;
    }

    public String getActivityDesc() {
        return activityDesc;
    }

    public void setActivityDesc(String activityDesc) {
        this.activityDesc = activityDesc;
    }

    public String getActivityName() {
        return activityName;
    }

    public void setActivityName(String activityName) {
        this.activityName = activityName;
    }

    public String getLocalizedActivityDesc() {
        return localizedActivityDesc;
    }

    public void setLocalizedActivityDesc(String localizedActivityDesc) {
        this.localizedActivityDesc = localizedActivityDesc;
    }

    public String getLocalizedActivityName() {
        return localizedActivityName;
    }

    public void setLocalizedActivityName(String localizedActivityName) {
        this.localizedActivityName = localizedActivityName;
    }

    public String getLocalizedActivityType() {
        return localizedActivityType;
    }

    public void setLocalizedActivityType(String localizedActivityType) {
        this.localizedActivityType = localizedActivityType;
    }

    public String getLocalizedSingaporeArea() {
        return localizedSingaporeArea;
    }

    public void setLocalizedSingaporeArea(String localizedSingaporeArea) {
        this.localizedSingaporeArea = localizedSingaporeArea;
    }

    public Collection<ActivityLocalizedEntity> getLocalizedActivityEntity() {
        return localizedActivityEntity;
    }

    public void setLocalizedActivityEntity(Collection<ActivityLocalizedEntity> localizedActivityEntity) {
        this.localizedActivityEntity = localizedActivityEntity;
    }

    public String getLocale() {
        return locale;
    }

    public void setLocale(String locale) {
        this.locale = locale;
    }

    public String getLocalizedClosingHour() {
        return localizedClosingHour;
    }

    public void setLocalizedClosingHour(String localizedClosingHour) {
        this.localizedClosingHour = localizedClosingHour;
    }

    public String getLocalizedOpeningHour() {
        return localizedOpeningHour;
    }

    public void setLocalizedOpeningHour(String localizedOpeningHour) {
        this.localizedOpeningHour = localizedOpeningHour;
    }
    
}
